
#include "vertex_semantic.h"
#include <teresa\impl\common.h>

namespace teresa
{

	namespace impl
	{
		vertex_semantic _make_var_semantic(vertex_semantic_size_t index_, blu::type_identity type_)
		{
			return vertex_semantic(index_, type_);
		}
	}

	vertex_semantic predefined_semantic_postition_3d =
		impl::_make_var_semantic(static_cast<vertex_semantic_size_t>(0), blu::type_identity::vec3_float_32);

	vertex_semantic predefined_semantic_normal_3d =
		impl::_make_var_semantic(static_cast<vertex_semantic_size_t>(1), blu::type_identity::vec3_float_32);

	vertex_semantic predefined_semantic_texcoord_2d =
		impl::_make_var_semantic(static_cast<vertex_semantic_size_t>(2), blu::type_identity::vec2_float_32);

	vertex_semantic predefined_semantic_joint_index =
		impl::_make_var_semantic(static_cast<vertex_semantic_size_t>(3), blu::type_identity::uint_32);

	vertex_semantic predefined_semantic_joint_weight =
		impl::_make_var_semantic(static_cast<vertex_semantic_size_t>(4), blu::type_identity::float_32);

}